﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;
using ASPItalia.ModelVirtualCasting.Silverlight.BackOffice.Navigation;

namespace ASPItalia.ModelVirtualCasting.Silverlight.BackOffice.ViewModels
{
    public abstract class ViewModelBase : INotifyPropertyChanged, INavigable
    {
        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void RaisePropertyChanged(string propertyName)
        {
            var propertyChangedEventHandler = this.PropertyChanged;
            if (propertyChangedEventHandler != null)
            {
                propertyChangedEventHandler(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        public INavigationService NavigationService { get; set; }
    }
}
